Performance enhancements for local network of beacons

ABSTRACT

Described are systems and methods relating to localized networks of beacons.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e) to co-pending U.S. Provisional Patent Application Ser. No. 61/786,550, filed Mar. 15, 2013, entitled PERFORMANCE ENHANCEMENTS FOR LOCAL NETWORK OF BEACONS, the content of which is hereby incorporated by reference herein in its entirety for all purposes.

FIELD

Embodiments relate to performance enhancements for a local network of beacons.

BACKGROUND

Improved techniques of locating objects using a localized beacon network are needed.

SUMMARY

Certain embodiments of this disclosure relate generally to local area beacon networks. Other embodiments relate to a hold-over mode associated with a Kalman filter.

DRAWINGS

FIG. 1 depicts aspects of a localized beacon architecture.

FIG. 2 depicts aspects of a localized beacon architecture.

FIG. 3 depicts aspects of an intra-beacon connection.

FIG. 4 depicts aspects of a second intra-beacon connection.

FIG. 5 depicts aspects of a ring connection topology.

FIG. 6 and FIG. 7 depict aspects of a multi-antenna configuration.

DESCRIPTION

Various aspects of the invention are described below. It should be apparent that the teachings herein may be embodied in a wide variety of forms and that any specific structure, function, or both, being disclosed herein is merely representative. Based on the teachings herein one skilled in the art should appreciate that any aspect disclosed may be implemented independently of any other aspects and that two or more of these aspects may be combined in various ways. For example, a system may be implemented or a method may be practiced using any number of the aspects set forth herein.

As used herein, the term “exemplary” means serving as an example, instance or illustration. Any aspect and/or embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects and/or embodiments.

In the following description, numerous specific details are introduced to provide a thorough understanding of, and enabling description for, the systems and methods described. One skilled in the relevant art, however, will recognize that these embodiments can be practiced without one or more of the specific details, or with other components, systems, and the like. In other instances, well-known structures or operations are not shown, or are not described in detail, to avoid obscuring aspects of the disclosed embodiments.

Overview

Various aspects, features, and functions are described below in conjunction with the appended Drawings. While the details of the embodiments of the invention may vary and still be within the scope of the claimed invention, one of skill in the art will appreciate that the Drawings described herein are not intended to suggest any limitation as to the scope of use or functionality of the inventive aspects. Neither should the Drawings and their description be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in those Drawings.

As an extension to aspects of repeater technology disclosed in the incorporated references, there can be a localized set of beacons at a specific venue either as a standalone network or as a part of the wider area network to improve positioning services at that venue.

Characteristics of the localized beacon network may vary depending on the venue. However some common characteristics may include: use of an optimal number of beacons that are focused to radiate within that venue at low power (e.g., 100 mW up to 1 W PA output power); use of antennas are typically mounted in ceilings, but may be mounted at all heights of a venue for spatial diversity; use of a group of beacons that form a network among themselves to exchange information about each other either (e.g., through network operations center (NOC) or through a local network); installation of beacons for good positional geometry; and other characteristics.

Synchronized timing may be accomplished conceptually by having all localized beacons independently synchronized to GPS directly with a GPS antenna attached to each beacon. However, this approach comes with the difficulty of GPS distribution to each beacon which can be cumbersome. One alternative is for one or more of the beacons to be synchronized to GPS and then use a timing distribution network to synchronize all other beacons to one of the synchronized beacons. Another alternative would be for one or more of the localized beacons to be synchronized to the wide area beacons using the signals received from them and then using a timing distribution network to synchronize all other beacons to one of the synchronized beacons. The timing distribution may be accomplished by having each localized beacon listen to the transmission from the localized controller beacon (which is already synchronized) using a receiver to adjust their timing accordingly. Another alternative for timing distribution is for the master beacon to distribute a timing signal pulse (such as the pulse per second) to the other beacons. Timing can also be distributed between the beacons using a precise version of the IEEE 1588 precision time protocol.

It is contemplated that some installations may use one or more telemetry modems (e.g., cellular, Wi-Fi, other) per beacon, and in some installations, all the beacons may share the same connectivity link. It is further contemplated that the timing performance in the local network of beacons is similar or better than an associated wide area network (e.g., the WAPS network described in the incorporated references). Transmissions can be orthogonal to the wide area network in terms of network resources (e.g., PRN, slot and frequency offset) or re-use the same network resources (e.g., PRN, slot, frequency offset) when a wide area network exists. Alternatively, the local network may operate as an independent network in a different frequency band.

Localized atmospheric data may be correlated with atmospheric readings at a receiver. For example, matches or similarities between pressure and/or temperature readings at the weather stations and a receiver may be used to reduce the possible candidates of estimated position to those located within a known region around a particular weather station.

Other network components may be used to further improve the quality of the fix. For example, a given venue may also have any number of local network sensors (e.g., temperature, pressure, other atmospheric sensors, acoustic, or other sensors) that may take localized measurements and correlate those measurements with corresponding readings at a receiver to decrease error along any coordinate (e.g., latitude, longitude, altitude). For example, matches or similarities between sensor readings at the network sensors and a receiver may be used to reduce the possible candidates of estimated position to those located within a known region around particular network sensors. Historical sensor readings may also be captured to map conditions at particular locations for given times, days and seasons. The mapped conditions may then be used to further enhance position processing. Alternative sensors are contemplated, including RFID sensors that may also be distributed throughout a venue, where sensing of the receiver's general location may occur by the RFID units sensing the receiver, or the receiver sensing the RFID units. Different RFID units may be associated with different sensing ranges to further refine trilateration using the RFID units.

Each beacon location may be correlated to characteristics of the venue (e.g., floor number at which beacon is located, relative locations of other beacons, altitude at which beacon is located, section of floor at which beacon is located, typical atmospheric conditions for particular periods of time throughout the year, and other characteristics). A GPS unit one top of the venue may determine a latitude and longitude that can be correlated with stored data relating to the venue. Alternatively, the beacons may identify the venue. Once identified, information about the venue (e.g., its characteristics, mapping of beacons and other network components) may be identified and used to reduce position error.

The localized beacons may also use a localized coordinate system with the receiver translating the localized coordinates into standard Latitude, Longitude and Altitude.

Attention is now drawn to the figures and the following description relating to the figures and other aspects.

Network Configuration

In FIG. 1, a GPS drop is split into multiple distribution points (after adequate amplification) and is distributed to each beacon using a coax cable or other wired/wireless communication means. The GPS antenna maybe dropped from the ceiling into the building where the control units of the beacons (designated by ‘B’) are located in close proximity to their transmitter or other antenna (e.g., cellular, Wi-Fi, other). Alternatively, the GPS antenna and the control boxes (B) may be in the roof, and the transmitter antenna cables may be dropped into the building (or a wireless configuration may be used, potentially requiring local power to the antennas) to connect the control units to the transmitter antenna. Each beacon may have individual telemetry connection back to the NOC for remote monitoring.

Attention is now drawn to FIG. 2, which depicts two groups of localized beacons that may be installed with each group being limited to by the number and length of the GPS distribution points available. Each group can still communicate with each other to exchange information between them.

Intra-Beacon Connection

Attention is now drawn to FIG. 3, which relates to an alternate configuration for FIG. 1, and which shows localized distribution and connectivity using an Ethernet link establishing an intra-beacon network connection for exchange of weather (e.g., from the “Wthr box”), timing, and other information among beacons and the rest of the network. One advantage of this approach is its low installation costs because it avoids installing expensive telecommunications modems and data connectivity to the NOC for data exchange between the beacons.

Attention is now drawn to FIG. 4, which relates to an alternate configuration for FIG. 2, which shows both the GPS distribution, and the use of an Ethernet connection for communication between beacons.

Attention is now drawn to FIG. 5, which illustrates that timing and message exchange may be distributed through a ring network topology.

Multi-Antenna Configuration

In yet another configuration, one transmitter control unit box may have an N-way transmitter switch driving several antennas in different time slots as shown in FIG. 6 and FIG. 7.

In some cases, the localized beacon network may be a TDMA network, in which case it may be desirable to have one beacon generate signals for various time slots (e.g., 10 time slots). This can be accomplished by using an RF switch to switch the signal across 10 antennas. One advantage of this approach is to reduce the system cost (e.g., replaces 10 beacons, reduces multiple cable runs), and to reduce timing uncertainty (e.g., since all 10 signals come from one source), among other considerations.

Kalman Holdover Mode

When deploying beacons targeted towards providing coverage for a micro area (e.g., a shopping mall or an airport), edge effects become prominent. Since there may be no wide area beacons to support this deployment, any time the user moves towards the edges of the convex hull bounding box created by the beacons, the probability of a Kalman fix placing the user outside the bounding box becomes high. When this happens, the Kalman filter can diverge. This phenomenon can be understood as follows.

By way of example, when performing trilateration using 4 GPS satellites, there are 2 possible solutions—one on the surface of the earth and the other somewhere out in space. Similarly, when performing trilateration using 4 or more local area beacons, there are 2 possible solutions—one inside the bounding box of the beacons and another some place outside it. Any time the Kalman fix falls outside the bounding box, the Kalman filter algorithm, which operates by minimizing the mean-squared error, follows a gradient descent and races towards the second solution that could be far removed from the true solution. In order to avoid this divergence, the following solution is proposed.

The Kalman filter may be assumed to be in steady state and providing fixes within the bounding box. As the user moves towards the network edge, suddenly, one of the fixes falls outside the box. Upon determining that one of the fixes falls outside the box, the Kalman filter may be set to a hold-over mode. During this time, the Kalman filter ignores the pseudorange measurements it receives from the beacons and simply holds on to its current state. If the user was walking, the Kalman filter would continue to move along the direction of the predicted velocity while ignoring any new data. For example, inertial sensors in the receiver may be used to predict direction and speed of movement, or other networks (e.g., Wi-Fi, peer-to-peer/receiver-to-receiver) may be used where the location and the range of that network's beacons are known, the measurements of which can be correlated to a map of the venue to further refine the position estimate of the receiver during the hold-over mode.

The filter continues to do this until it receives a set of pseudorange measurements that cause the Kalman fix to fall back inside the box. However, the Kalman filter cannot afford to be in a hold-over mode forever since the predicted results may not hold water beyond a few seconds. To avoid this, an internal counter called fixCount is initiated when the Kalman filter first enters the hold-over mode. Every time the Kalman filter ignores new measurements, fixCount is incremented. When fixCount reaches a certain pre-determined threshold, fixCountThresh, the Kalman filter is simply reset entirely, and it loses all of the state information it has accrued until that point and starts over. If future fixes continue to fall outside the box, the Kalman filter will continue to reset until it receives a set of measurements that cause the fix to fall inside the bounding box. Once this happens, the hold-over mode procedure is repeated all over again.

During the hold-over mode, the Kalman filter is only predicting where the user could be. This prediction becomes increasingly loose with time. In order to reflect this fact, the process noise of the filter can be increased by a pre-determined amount during the hold-over mode. This noise can even be increased in a linear fashion as the fixCount increments. This is a way to provide feedback to the filter that the predicted state is getting stale as the hold-over time increases.

Thus, by putting the Kalman filter in a hold-over mode for a certain amount of time, and by increasing its process noise during this time, the edge effects of network deployment can be alleviated to some extent and divergence of the Kalman filter can be better avoided.

Supporting Aspects

Various aspects relate to disclosures of other patent applications, patent publications, or issued patents. For example, each of the following applications, publications, and patents are incorporated by reference in their entirety for any and all purposes: U.S. Utility patent application Ser. No. 13/412,487, entitled WIDE AREA POSITIONING SYSTEMS, filed on Mar. 5, 2012; U.S. Utility patent Ser. No. 12/557,479 (now U.S. Pat. No. 8,130,141), entitled WIDE AREA POSITIONING SYSTEM, filed Sep. 10, 2009; U.S. Utility patent application Ser. No. 13/412,508, entitled WIDE AREA POSITIONING SYSTEM, filed Mar. 5, 2012; U.S. Utility patent application Ser. No. 13/296,067, entitled WIDE AREA POSITIONING SYSTEMS, filed Nov. 14, 2011; Application Serial No. PCT/US12/44452, entitled WIDE AREA POSITIONING SYSTEMS (WAPS), filed Jun. 28, 2011); U.S. patent application Ser. No. 13/535,626, entitled CODING IN WIDE AREA POSITIONING SYSTEMS (WAPS), filed Jun. 28, 2012; U.S. patent application Ser. No. 13/565,732, entitled CELL ORGANIZATION AND TRANSMISSION SCHEMES IN A WIDE AREA POSITIONING SYSTEM (WAPS), filed Aug. 2, 2012; U.S. patent application Ser. No. 13/565,723, entitled CELL ORGANIZATION AND TRANSMISSION SCHEMES IN A WIDE AREA POSITIONING SYSTEM (WAPS), filed Aug. 2, 2012; U.S. patent application Ser. No. 13/831,740, entitled SYSTEMS AND METHODS CONFIGURED TO ESTIMATE RECEIVER POSITION USING TIMING DATA ASSOCIATED WITH REFERENCE LOCATIONS IN THREE-DIMENSIONAL SPACE, filed Mar. 14, 2013. The above applications, publications and patents may be individually or collectively referred to herein as “incorporated reference(s)”, “incorporated application(s)”, “incorporated publication(s)”, “incorporated patent(s)” or otherwise designated. The various aspect, details, devices, systems, and methods disclosed herein may be combined with disclosures in any of the incorporated references in accordance with various embodiments.

This disclosure relates generally to positioning systems and methods for providing signaling for position determination and determining high accuracy position/location information using a wide area transmitter array of transmitters in communication with receivers such as in cellular phones or other portable devices with processing components, transceiving capabilities, storage, input/output capabilities, and other features.

Positioning signaling services associated with certain aspects may utilize broadcast-only transmitters that may be configured to transmit encrypted positioning signals. The transmitters (which may also be denoted herein as “towers” or “beacons”) may be configured to operate in an exclusively licensed or shared licensed/unlicensed radio spectrum; however, some embodiments may be implemented to provide signaling in unlicensed shared spectrum. The transmitters may transmit signaling in these various radio bands using novel signaling as is described herein or in the incorporated references. This signaling may be in the form of a proprietary signal configured to provide specific data in a defined format advantageous for location and navigation purposes. For example, the signaling may be structured to be particularly advantageous for operation in obstructed environments, such as where traditional satellite position signaling is attenuated and/or impacted by reflections, multipath, and the like. In addition, the signaling may be configured to provide fast acquisition and position determination times to allow for quick location determination upon device power-on or location activation, reduced power consumption, and/or to provide other advantages.

The receivers may be in the form of one or more user devices, which may be any of a variety of electronic communication devices configured to receive signaling from the transmitters, as well as optionally be configured to receive GPS or other satellite system signaling, cellular signaling, Wi-Fi signaling, Wi-Max signaling, Bluetooth, Ethernet, and/or other data or information signaling as is known or developed in the art. The receivers may be in the form of a cellular or smart phone, a tablet device, a PDA, a notebook or other computer system, and/or similar or equivalent devices. In some embodiments, the receivers may be a standalone location/positioning device configured solely or primarily to receive signals from the transmitters and determine location/position based at least in part on the received signals. As described herein, receivers may also be denoted herein as “User Equipment” (UE), handsets, smart phones, tablets, and/or simply as a “receiver.”

The transmitters may be configured to send transmitter output signals to multiple receiver units (e.g., a single receiver unit is shown in certain figures for simplicity; however, a typical system will be configured to support many receiver units within a defined coverage area) via communication links). The transmitters may also be connected to a server system via communication links, and/or may have other communication connections to network infrastructure, such as via wired connections, cellular data connections, Wi-Fi, Wi-Max, or other wireless connections, and the like.

Various embodiments of a wide area positioning system (WAPS), described herein or in the incorporated references, may be combined with other positioning systems to provide enhanced location and position determination. Alternately, or in addition, a WAPS system may be used to aid other positioning systems. In addition, information determined by receivers of WAPS systems may be provided via other communication network links, such as cellular, Wi-Fi, pager, and the like, to report position and location information to a server system or systems, as well as to other networked systems existing on or coupled to network infrastructure.

For example, in a cellular network, a cellular backhaul link may be used to provide information from receivers to associated cellular carriers and/or others via network infrastructure. This may be used to quickly and accurately locate the position of receiver during an emergency, or may be used to provide location-based services or other functions from cellular carriers or other network users or systems.

It is noted that, in the context of this disclosure, a positioning system is one that localizes one or more of latitude, longitude, and altitude coordinates, which may also be described or illustrated in terms of one, two, or three dimensional coordinate systems (e.g., x, y, z coordinates, angular coordinates, vectors, and other notations). In addition, it is noted that whenever the term ‘GPS’ is referred to, it is done so in the broader sense of Global Navigation Satellite Systems (GNSS) which may include other satellite positioning systems such as GLONASS, Galileo and Compass/Beidou. In addition, as noted previously, in some embodiments other positioning systems, such as terrestrially based systems, may be used in addition to or in place of satellite-based positioning systems.

Embodiments of WAPS include multiple transmitters configured to broadcast WAPS data positioning information, and/or other data or information, in transmitter output signals to the receivers. The positioning signals may be coordinated so as to be synchronized across all transmitters of a particular system or regional coverage area, and may use a disciplined GPS clock source for timing synchronization. WAPS data positioning transmissions may include dedicated communication channel resources (e.g., time, code and/or frequency) to facilitate transmission of data required for trilateration, notification to subscriber/group of subscribers, broadcast of messages, and/or general operation of the WAPS system. Additional disclosure regarding WAPS data positioning transmissions may be found in the incorporated references.

In a positioning system that uses time difference of arrival or trilateration, the positioning information typically transmitted includes one or more of precision timing sequences and positioning signal data, where the positioning signal data includes the location of transmitters and various timing corrections and other related data or information. In one WAPS embodiment, the data may include additional messages or information such as notification/access control messages for a group of subscribers, general broadcast messages, and/or other data or information related to system operation, users, interfaces with other networks, and other system functions. The positioning signal data may be provided in a number of ways. For example, the positioning signal data may be modulated onto a coded timing sequence, added or overlaid over the timing sequence, and/or concatenated with the timing sequence.

Data transmission methods and apparatus described herein may be used to provide improved location information throughput for the WAPS. In particular, higher order modulation data may be transmitted as a separate portion of information from pseudo-noise (PN) ranging data. This may be used to allow improved acquisition speed in systems employing CDMA multiplexing, TDMA multiplexing, or a combination of CDMA/TDMA multiplexing. The disclosure herein is illustrated in terms of WAPS in which multiple towers broadcast synchronized positioning signals to UEs and, more particularly, using towers that are terrestrial. However, the embodiments are not so limited, and other systems within the spirit and scope of the disclosure may also be implemented.

In an exemplary embodiment, a WAPS system uses coded modulation sent from a tower or transmitter, such as transmitter, called spread spectrum modulation or pseudo-noise (PN) modulation, to achieve wide bandwidth. The corresponding receiver unit, such as receiver, includes one or more modules to process such signals using a despreading circuit, such as a matched filter or a series of correlators. Such a receiver produces a waveform which, ideally, has a strong peak surrounded by lower level energy. The time of arrival of the peak represents the time of arrival of the transmitted signal at the receiver. Performing this operation on a multiplicity of signals from a multiplicity of towers, whose locations are accurately known, allows determination of the receivers location via trilateration. Various additional details related to WAPS signal generation in a transmitter, along with received signal processing in a receiver are described herein or in the incorporated references.

Ttransmitters may include various blocks for performing associated signal reception and/or processing. For example, a transmitter may include one or more GPS modules for receiving GPS signals and providing location information and/or other data, such as timing data, dilution of precision (DOP) data, or other data or information as may be provided from a GPS or other positioning system, to a processing module. Other modules for receiving satellite or terrestrial signals and providing similar or equivalent output signals, data, or other information may alternately be used in various embodiments. GPS or other timing signals may be used for precision timing operations within transmitters and/or for timing correction across the WAPS system.

Transmitters may also include one or more transmitter modules (e.g., RF transmission blocks) for generating and sending transmitter output signals as described subsequently herein. A transmitter module may also include various elements as are known or developed in the art for providing output signals to a transmit antenna, such as analog or digital logic and power circuitry, signal processing circuitry, tuning circuitry, buffer and power amplifiers, and the like. Signal processing for generating the output signals may be done in the a processing module which, in some embodiments, may be integrated with another module or, in other embodiments, may be a standalone processing module for performing multiple signal processing and/or other operational functions.

One or more memories may be coupled with a processing module to provide storage and retrieval of data and/or to provide storage and retrieval of instructions for execution in the processing module. For example, the instructions may be instructions for performing the various processing methods and functions described subsequently herein, such as for determining location information or other information associated with the transmitter, such as local environmental conditions, as well as to generate transmitter output signals to be sent to the user devices.

Transmitters may further include one or more environmental sensing modules for sensing or determining conditions associated with the transmitter, such as, for example, local pressure, temperature, or other conditions. In an exemplary embodiment, pressure information may be generated in the environmental sensing module and provided to a processing module for integration with other data in transmitter output signals as described subsequently herein. One or more server interface modules may also be included in a transmitter to provide an interface between the transmitter and server systems, and/or to a network infrastructure.

Receivers may include one or more GPS modules for receiving GPS signals and providing location information and/or other data, such as timing data, dilution of precision (DOP) data, or other data or information as may be provided from a GPS or other positioning system, to a processing module (not shown). Of course, other Global Navigation Satellite Systems (GNSS) are contemplated, and it is to be understood that disclosure relating to GPS may apply to these other systems. Of course, any location processor may be adapted to receive and process position information described herein or in the incorporated references.

Receivers may also include one or more cellular modules for sending and receiving data or information via a cellular or other data communications system. Alternately, or in addition, receivers may include communications modules for sending and/or receiving data via other wired or wireless communications networks, such as Wi-Fi, Wi-Max, Bluetooth, USB, or other networks.

Receivers may include one or more position/location modules for receiving signals from terrestrial transmitters, and processing the signals to determine position/location information as described subsequently herein. A position module may be integrated with and/or may share resources such as antennas, RF circuitry, and the like with other modules. For example, a position module and a GPS module may share some or all radio front end (RFE) components and/or processing elements. A processing module may be integrated with and/or share resources with the position module and/or GPS module to determine position/location information and/or perform other processing functions as described herein. Similarly, a cellular module may share RF and/or processing functionality with an RF module and/or processing module. A local area network (LAN) module may also be included.

One or more memories may be coupled with processing module and other modules to provide storage and retrieval of data and/or to provide storage and retrieval of instructions for execution in the processing module. For example, the instructions may perform the various processing methods and functions described herein or in the incorporated references.

Receivers may further include one or more environmental sensing modules (e.g., inertial, atmospheric and other sensors) for sensing or determining conditions associated with the receiver, such as, for example, local pressure, temperature, movement, or other conditions, that may be used to determine the location of the receiver. In an exemplary embodiment, pressure information may be generated in such an environmental sensing module for use in determining location/position information in conjunction with received transmitter, GPS, cellular, or other signals.

Receivers may further include various additional user interface modules, such as a user input module which may be in the form of a keypad, touchscreen display, mouse, or other user interface element. Audio and/or video data or information may be provided on an output module (not shown), such as in the form or one or more speakers or other audio transducers, one or more visual displays, such as touchscreens, and/or other user I/O elements as are known or developed in the art. In an exemplary embodiment, such an output module may be used to visually display determined location/position information based on received transmitter signals, and the determined location/position information may also be sent to a cellular module to an associated carrier or other entity.

The receiver may include a signal processing block that comprises a digital processing block configured to demodulate the received RF signal from the RF module, and also to estimate time of arrival (TOA) for later use in determining location. The signal processing block may further include a pseudorange generation block and a data processing block. The pseudorange generation block may be configured to generate “raw” positioning pseudorange data from the estimated TOA, refine the pseudorange data, and to provide that pseudorange data to the position engine, which uses the pseudorange data to determine the location of the receiver. The data processing block may be configured to decode the position information, extract packet data from the position information and perform error correction (e.g., CRC) on the data. A position engine of a receiver may be configured to process the position information (and, in some cases, GPS data, cell data, and/or LAN data) in order to determine the location of the receiver within certain bounds (e.g., accuracy levels, etc.). Once determined, location information may be provided to applications. One of skill in the art will appreciate that the position engine may signify any processor capable of determining location information, including a GPS position engine or other position engine.

Variations of Implementation

The various components, modules, and functions described herein can be located together or in separate locations. Communication paths couple the components and include any medium for communicating or transferring files among the components. The communication paths include wireless connections, wired connections, and hybrid wireless/wired connections. The communication paths also include couplings or connections to networks including local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), proprietary networks, interoffice or backend networks, and the Internet. Furthermore, the communication paths include removable fixed mediums like floppy disks, hard disk drives, and CD-ROM disks, as well as flash RAM, Universal Serial Bus (USB) connections, RS-232 connections, telephone lines, buses, and electronic mail messages.

Aspects of the systems and methods described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the systems and methods include: microcontrollers with memory (such as electronically erasable programmable read only memory (EEPROM)), embedded microprocessors, firmware, software, etc. Furthermore, aspects of the systems and methods may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. The underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.

It should be noted that any system, method, and/or other components disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof. Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, HTTPs, FTP, SMTP, WAP, etc.). When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described components may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs.

Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.

The above description of embodiments of the systems and methods is not intended to be exhaustive or to limit the systems and methods to the precise forms disclosed. While specific embodiments of, and examples for, the systems and methods are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the systems and methods, as those skilled in the relevant art will recognize. The teachings of the systems and methods provided herein can be applied to other systems and methods, not only for the systems and methods described above. The elements and acts of the various embodiments described above can be combined to provide further embodiments. These and other changes can be made to the systems and methods in light of the above detailed description.

One of skill in the art will appreciate that the processes shown in the Drawings and described herein are illustrative, and that there is no intention to limit this disclosure to the order of stages shown. Accordingly, stages may be removed and rearranged, and additional stages that are not illustrated may be carried out within the scope and spirit of the invention.

In one or more exemplary embodiments, the functions, methods and processes described may be implemented in whole or in part in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer.

By way of example, and not limitation, such computer-readable media can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

Those of skill in the art would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.

The various illustrative logical blocks, modules, processes, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

The steps or stages of a method, process or algorithm in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

The claims are not intended to be limited to the aspects shown herein, but is to be accorded the full scope consistent with the language of the claims, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” Unless specifically stated otherwise, the term “some” refers to one or more. A phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a; b; c; a and b; a and c; b and c; and a, b and c.

The previous description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the aspects shown herein but is to be accorded the widest scope consistent with the appended claims and their equivalents.

As used herein, computer program products comprising computer-readable media including all forms of computer-readable medium except, to the extent that such media is deemed to be non-statutory, transitory propagating signals.

While various embodiments of the present invention have been described in detail, it may be apparent to those skilled in the art that the present invention can be embodied in various other forms not specifically described herein. Therefore, the protection afforded the present invention should only be limited in accordance with the following claims. 

1. A method for estimating one or more positions of a receiver in a network of beacons, the method comprising: determining a first position estimate of a receiver based on a first set of range measurements corresponding to a network of beacons; setting a current position of the receiver to the first position estimate; determining a second position estimate of the receiver based on a second set of range measurements corresponding to the network of beacons; determining whether the second position estimate is within a predefined area associated with the network of beacons; when the second position estimate is inside the predefined area: setting the current position of the receiver as the second position estimate; and when the second position estimate is not inside the predefined area: determining a third position estimate of the receiver based on the first position estimate and a first measurement of velocity associated with a first movement of the receiver, and setting the current position of the receiver as the third position estimate.
 2. The method of claim 1, wherein after determining the third position estimate, the method comprises: determining a fourth position estimate of the receiver based on a third set of range measurements corresponding to the network of beacons; determining whether the fourth position estimate is within the predefined area; when the fourth position estimate is inside the predefined area: setting the current position of the receiver as the fourth position estimate; and when the fourth position estimate is not inside the predefined area: determining a fifth position estimate of the receiver based on the third position estimate and a second measurement of velocity associated with a second movement of the receiver, and setting the current position of the receiver as the fifth position estimate.
 3. The method of claim 1, wherein after determining that the second position estimate is not inside the predefined area, the method comprises: incrementing a value of a counter.
 4. The method of claim 3, wherein after incrementing the counter, the method comprises: determining a fourth position estimate of the receiver based on a third set of range measurements corresponding to the network of beacons; determining whether the fourth position estimate is within the predefined area; when the fourth position estimate is inside the predefined area: setting the current position of the receiver as the fourth position estimate; when the fourth position estimate is not inside the predefined area: determining whether the value of the counter meets a threshold condition; and after determining that the value of the counter does not meet the threshold condition: determining a fifth position estimate of the receiver based on the third position estimate and a second measurement of velocity associated with a second movement of the receiver, and setting the current position of the receiver as the fifth position estimate.
 5. The method of claim 4, wherein after determining that the value of the counter meets the threshold condition, the method comprises: resetting a Kalman filter.
 6. The method of claim 1, wherein the predefined area is defined by a bounding box formed by the network of beacons.
 7. The method of claim 1, wherein additional position estimates are determined based on additional measurements of velocity until process noise associated with a Kalman filter reaches a pre-determined amount of process noise, at which point the Kalman filter is reset.
 8. The method of claim 1, wherein additional position estimates are determined based on additional measurements of velocity until a value of a counter reaches a pre-determined threshold value, at which point the Kalman filter is reset.
 9. The method of claim 1, wherein the third position estimate is further based on a map of a venue within which the network of beacons is resides.
 10. The method of claim 1, wherein the network of beacons is disposed inside a building, wherein the network of beacons includes a first beacon that is synchronized to GPS time via a GPS antenna disposed on top of the building, and wherein the network of beacons includes other beacons that synchronize to GPS time based on a timing signal transmitted by the first beacon.
 11. The method of claim 1, wherein the network of beacons includes at least one beacon coupled to an n-way switch that sends signals to n antennas in n different time slots.
 12. The method of claim 1, wherein the method further comprises: comparing atmospheric data from the receiver with atmospheric measurements corresponding to one or more regions of the network of beacons; and identifying a candidate position estimate based on the comparison between the atmospheric data from the receiver and the atmospheric measurements corresponding to the one or more regions of the network of beacons.
 13. A system comprising one or more processors that perform the method of claim
 1. 14. A non-transitory machine-readable medium embodying program instructions adapted to be executed to implement the method of claim
 1. 